package com.itheima.mapper;

import com.itheima.pojo.Category;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @Author 27435
 * @Date 2024/12/20下午12:50
 * @Version 1.0
 */

@Mapper
public interface CategoryMapper {

    /**
     * 新增分类
     * @param category 待添加的分类信息
     */
    @Insert("insert into category(category_name, category_alias, create_user, create_time, update_time) " +
            "values (#{categoryName}, #{categoryAlias}, #{createUser}, #{createTime}, #{updateTime})")
    void add(Category category);

    /**
     * 查询当前用户创建的所有分类
     * @param userId 当前用户id
     * @return
     */
    @Select("select * from category where create_user = #{userId}")
    List<Category> list(Integer userId);

    /**
     * 根据id查询分类信息
     * @param id 分类id
     * @return 分类信息
     */
    @Select("select * from category where id = #{id}")
    Category findById(Integer id);

    /**
     * 更新分类信息
     * @param category 待更新的分类信息
     */
    @Update("update category set category_name = #{categoryName}, category_alias = #{categoryAlias}, update_time = #{updateTime} where id = #{id}")
    void update(Category category);

    /**
     * 根据id删除分类信息
     * @param id 分类id
     */
    @Delete("delete from category where id = #{id}")
    void deleteById(Integer id);
}
